#include <stdio.h>

struct BinaryTreeNode
{
    int                  m_value;
    BinaryTreeNode*     m_pLeft;
    BinaryTreeNode*     m_pRight;
};

struct List
{
    BinaryTreeNode*     m_value;
    List*     next;

};

void PrintFromTopToBottom(BinaryTreeNode* pTreeRoot);

int main()
{

    return 0;
}

void PrintFromTopToBottom(BinaryTreeNode *pTreeRoot)
{
    if (NULL == pTreeRoot)
        return;

    List*      list;
    List*       p;

    list->m_value = pTreeRoot;
    list->next = NULL;
    p = list;
    while(list->m_value != null ) {
        p->next = list->m_value->m_pLeft;
        p->next
    }

}
